home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / data / dora / doraedit.plp < prev    next >
Text File  |  1995-07-01  |  20KB  |  873 lines

  1. /*    共通ルーチン    */
  2. /*    入力ファイル選択(ワイルドカード不可)    */
  3. %FILEsel0{
  4.     [MSG,TYP]
  5.     SNDMSG({erande_f.snd});
  6.     footnote(MSG);
  7.     case    (TYP={},
  8.         {Yes},    {OLDFILE:=@filesel},
  9.         {No},    {OLDFILE:=@filesel(TYP)}
  10.         );
  11.     case    (OLDFILE={},
  12.         {Yes},{im({})},
  13.         {No},
  14.         {
  15.         case    (@wild(OLDFILE),
  16.             {Yes},
  17.             {
  18.             display({ワイルドカード指定はできません\n});
  19.             FILEsel0(MSG,TYP);
  20.             },
  21.             {No},
  22.             {
  23.             OLDFILE:=@dir2(@getcdir)|OLDFILE;
  24.             case    (@filechk(OLDFILE),
  25.                 {No},
  26.                 {
  27.                 SNDMSG({okasi_f.snd});
  28.                 display(OLDFILE|{がありません\n});
  29.                 FILEsel0(MSG,TYP);
  30.                 },
  31.                 {Yes},{im(OLDFILE)}
  32.                 );
  33.             });
  34.         });
  35.     };
  36. /*    入力ファイル選択(ワイルドカード可)    */
  37. %FILEsel1{
  38.     [MSG,TYP]
  39.     SNDMSG({erande_f.snd});
  40.     footnote(MSG);
  41.     case    (TYP={},
  42.         {Yes},    {OLDFILE:=@filesel},
  43.         {No},    {OLDFILE:=@filesel(TYP)}
  44.         );
  45.     case    (OLDFILE={},
  46.         {Yes},{im({})},
  47.         {No},
  48.         {
  49.         case    (@wild(OLDFILE),
  50.             {Yes},
  51.             {
  52.             OLDFILE:=@dir2(@getcdir)|OLDFILE;
  53.             im(OLDFILE);
  54.             },
  55.             {No},
  56.             {
  57.             OLDFILE:=@dir2(@getcdir)|OLDFILE;
  58.             case    (@filechk(OLDFILE),
  59.                 {No},
  60.                 {
  61.                 SNDMSG({okasi_f.snd});
  62.                 display(OLDFILE|{がありません\n});
  63.                 FILEsel1(MSG,TYP);
  64.                 },
  65.                 {Yes},{im(OLDFILE)}
  66.                 );
  67.             });
  68.         });
  69.     };
  70.  
  71. /*     表示終了待ち    */
  72. %WAITLOOP{
  73.     loop    ({
  74.         footnote({終了},{b});
  75.         waitx();
  76.         case    (@xtype,
  77.             101,{im({No})},201,{im({No})},
  78.             ,{im({Yes})}
  79.             );
  80.         });
  81.     };
  82.  
  83. /*    ファイル基本操作    */
  84. /*    ファイル表示    */
  85. %DISPLAY{
  86.     loop    ({
  87.         case    (@FILEsel0({表示するファイルを指定して下さい},)={},
  88.             {Yes},{im({No})},
  89.             {No},
  90.             {
  91.             display(@xc({1B})|{[37m});
  92.             footnote({ファイル表示  }|OLDFILE);
  93.             command({type }|OLDFILE|{|more});
  94.             loop    ({
  95.                 footnote({終了},{b});waitx();
  96.                 case(@xtype,101,{im({No})},201,{im({No})},
  97.                     ,{im({Yes})});
  98.                 });
  99.             im({Yes});
  100.             });});};
  101. /*    ファイル複写    */
  102. %COPY    {
  103.     %FILEsel2{
  104.         SNDMSG({erande_f.snd});
  105.         footnote({複写先のファイルを指定して下さい  複写元=}|OLDFILE);
  106.         NEWFILE:=@filesel;
  107.         NEWDIR:=@dir2(@getcdir);
  108.         case(@wild(OLDFILE),{Yes},{NEWFILE:={*.*}});
  109.         case(NEWFILE={},{Yes},{NEWFILE:={*.*}});
  110.         NEWFILE:=NEWDIR|NEWFILE;
  111.         };
  112.  
  113.     loop    ({
  114.         case(@FILEsel1({複写元のファイルを指定して下さい},)={},
  115.             {Yes},{im({No})},
  116.             {No},
  117.             {
  118.             FILEsel2;
  119.             case    (@filechk(NEWFILE),
  120.                 {Yes},
  121.                 {
  122.                 SNDMSG({kaknin_f.snd});
  123.                 footnote({ファイル複写  }|
  124.                         OLDFILE|{ -> }|NEWFILE);
  125.                 select    ({複写先のファイルに上書き}|
  126.                         {してもいいですか?},
  127.                     Wtime4,,
  128.                     { は い },
  129.                     {command({copy }|OLDFILE|{ }|NEWFILE)},
  130.                     { いいえ },
  131.                     );
  132.                 },
  133.                 {No},
  134.                 {command({copy }|OLDFILE|{ }|NEWFILE)}
  135.                 );
  136.             im({Yes});
  137.             });
  138.         });
  139.     };
  140.  
  141. /*    ファイル移動    */
  142. %MOVE    {
  143.     %FILEsel2{
  144.         SNDMSG({erande_f.snd});
  145.         footnote({移動先のディレクトリへ移動してキャンセ}|
  146.                 {ルして下さい  移動元=}|OLDFILE);                filesel;NEWDIR:=@getcdir;
  147.         case(@nochar(NEWDIR)==3,
  148.             {Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
  149.             {No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
  150.         };
  151.     loop    ({
  152.         case(@FILEsel1({移動元のファイルを指定して下さい},)={},
  153.             {Yes},{im({No})},
  154.             {No},
  155.             {
  156.             FILEsel2;
  157.             var    fileno    [3];
  158.             case(@wild(OLDFILE),
  159.                 {No},
  160.                 {case    (@filechk(NEWFILE),
  161.                     {Yes},
  162.                     {
  163.                     SNDMSG({kaknin_f.snd});
  164.                     footnote({ファイル移動  }|
  165.                         OLDFILE|{ -> }|NEWFILE);
  166.                     select    ({移動先のファイルに上書き}|
  167.                         {してもいいですか?},
  168.                         Wtime4,,
  169.                         { は い },{fileno:={1}},
  170.                         {  いいえ  },{fileno:={0}});
  171.                     },
  172.                     {No},{fileno:={1}});
  173.                 },
  174.                 {Yes},{NEWFILE:=@body(NEWFILE,,{\})|{\*.*};
  175.                     fileno:={n}}
  176.                 );
  177.             case(fileno,
  178.                 {1},
  179.                 {
  180.                 delfile(TEMP2|{_moptemp.tmp});
  181.                 command({copy }|OLDFILE|{ }|NEWFILE|
  182.                     { > }|TEMP2|{_moptemp.tmp});
  183.                 case    (@read(TEMP2|{_moptemp.tmp}),
  184.                     {        1 個のファイルを}|
  185.                     {コピーしました.\n},
  186.                     {delfile(OLDFILE)});
  187.                 },
  188.                 {n},
  189.                 {
  190.                 delfile(TEMP2|{_moptemp.tmp});
  191.                 command({copy }|OLDFILE|{ }|NEWFILE|
  192.                     { > }|TEMP2|{_moptemp.tmp});
  193.                 var    N    [4];
  194.                 N:=0;
  195.                 loop    ({
  196.                     N:=N+1;
  197.                     %f1 @read(TEMP2|{_moptemp.tmp},N,1);
  198.                     case(@tail(f1,{個のファイルを}),
  199.                         {コピーしました.\n},
  200.                         {im({No})},
  201.                         ,
  202.                         {
  203.                         case(@head(f1,{\n})<>
  204.                         TEMP2|{_MOPTEMP.TMP},
  205.                         {Yes},
  206.                         {command({del }|
  207.                             @head(f1,{\n}))});
  208.                         im({Yes});
  209.                         });});
  210.                 },
  211.                 {0},
  212.                 );
  213.             im({Yes});
  214.             });});};
  215. /*    ファイル名変更    */
  216. %RENAME    {
  217.     %FILEsel2{
  218.         SNDMSG({nyuryo_f.snd});
  219.         footnote({新ファイル名を入力して下さい  旧ファイル名=}|OLDFILE);
  220.         NEWFILE:=@input({新ファイル名を入力して下さい},,@tail(OLDFILE,{\}));
  221.         im(NEWFILE);
  222.         };
  223.     loop    ({
  224.         case(@FILEsel1({ファイル名を変更するファイルを}|
  225.                     {指定して下さい},)={},
  226.             {Yes},{im({No})},
  227.             {No},
  228.             {
  229.             case(@FILEsel2={},
  230.                 {Yes},{im({No})},
  231.                 {No},
  232.                 {
  233.                 footnote({ファイル名変更  }|
  234.                         OLDFILE|{ -> }|NEWFILE);
  235.                 copyfile(OLDFILE,NEWFILE);
  236.                 delfile(OLDFILE);
  237.                 im({Yes});
  238.                 });});});};
  239. /*    ファイル削除    */
  240. %DELETE    {
  241.     loop    ({
  242.         case(@FILEsel1({削除するファイルを指定して下さい},)={},
  243.             {Yes},{im({No})},
  244.             {No},
  245.             {
  246.             SNDMSG({kaknin_f.snd});
  247.             footnote({ファイル削除  }|OLDFILE);
  248.             select    (OLDFILE|{を削除してもいいですか?},
  249.                 Wtime4,,
  250.                 { は い },
  251.                 {case    (@tail(OLDFILE,{\})={*.*},
  252.                     {Yes},{command({echo y|del }|OLDFILE)},
  253.                     {No},{command({del }|OLDFILE)})},
  254.                 { いいえ },
  255.                 );
  256.             im({Yes});
  257.             });});};
  258. /*    全ファイル削除    */
  259. %DELall    {
  260.     SNDMSG({erande_f.snd});
  261.     footnote({全ファイル削除するディレクトリへ移動して}|
  262.             {左クリックして下さい});
  263.     filesel;
  264.     OLDDIR:=@getcdir;
  265.     SNDMSG({kaknin_f.snd});
  266.     footnote({全ファイル削除  }|@dir2(OLDDIR)|{*.*});wait(2);
  267.     select    (OLDDIR|{の全ファイルを削除してもいいですか?},
  268.         Wtime4,,
  269.         { は い },
  270.         {setcdir(OLDDIR);command({echo y|del }|OLDFILE|{*.*})},
  271.         { いいえ },
  272.         );
  273.     };
  274. /*    ファイル一覧表示    */
  275. %DIR    {
  276.     loop    ({
  277.         case(@FILEsel1({一覧表示するファイルを指定してください  },)={},
  278.             {Yes},
  279.             {
  280.             OLDDIR:=@getcdir;SNDMSG({kaknin_f.snd});
  281.             footnote({ファイル一覧表示  }|OLDDIR);
  282.             select    (OLDDIR|{の全ファイル一覧表示ですか?},
  283.                 Wtime4,,
  284.                 {全ファイル一覧表示},
  285.                 {
  286.                 command({dir }|OLDDIR);
  287.                 loop    ({
  288.                     footnote({終了},{b});
  289.                     waitx();
  290.                     case(@xtype,101,{im({No})},
  291.                         201,{im({No})},,{im({Yes})});
  292.                     });
  293.                 im({Yes});
  294.                 },
  295.                 {     取    消     },
  296.                 );
  297.             },
  298.             {No},
  299.             {
  300.             footnote({ファイル一覧表示  }|OLDFILE);
  301.             command({dir }|OLDFILE);
  302.             loop    ({
  303.                 footnote({終了},{b});
  304.                 waitx();
  305.                 case    (@xtype,
  306.                     101,{im({No})},201,{im({No})},
  307.                     ,{im({Yes})});
  308.                 });
  309.             im({Yes});
  310.             });});};
  311.  
  312. /*    ファイル実行    */
  313. %EXEC    {
  314.     var    PARAM    [64];
  315.     %execfile{
  316.         SNDMSG({nyuryo_f.snd});
  317.         PARAM:=@input(OLDFILE|{ のパラメータを入力して下さい});
  318.         footnote({ファイル実行中  }|OLDFILE);
  319.         command(OLDFILE|{ }|PARAM);
  320.         im({Yes});
  321.         };
  322.     loop    ({
  323.         case    (@FILEsel0({実行するファイルを指定して下さい},)={},
  324.             {Yes},{im({No})},
  325.             {No},
  326.             {
  327.             case    (@tail(OLDFILE,{.}),
  328.                 {COM},execfile,
  329.                 {EXE},execfile,
  330.                 {BAT},execfile,
  331.                 ,
  332.                 {
  333.                 SNDMSG({okasi_f.snd});
  334.                 display(OLDFILE|{ は実行できません});
  335.                 im({Yes});
  336.                 });
  337.             });
  338.         });
  339.     };
  340. /*    NAPLPSファイル表示    */
  341. var    opfi    [64];
  342. %npm     {NAPLPS データファイルを指定して下さい};
  343.  
  344. %NPS    {
  345.     [np]
  346.     footnote({NAPLPSファイル表示  }|np);
  347.     naplps(np);
  348.     loop    ({
  349.         footnote({終了再現},{b});
  350.         waitx();
  351.         case    (@xtype,
  352.             101,{napend;im({No});},
  353.             201,{napend;im({No});},
  354.             102,{napend;naplps(np);im({Yes})},
  355.             202,{napend;naplps(np);im({Yes})},
  356.             ,{im({Yes})}
  357.             );
  358.         });
  359.     im({Yes});
  360.     };
  361. %NAPLPS    {
  362.     dispoff(!DEBUG);
  363.     loop    ({
  364.         case    (@FILEsel0(npm,{NPB})={},{Yes},{im({No})},
  365.             {No},{NPS(OLDFILE)});
  366.         case    (OLDFILE={},{No},{opfi:=OLDFILE});});
  367.     command({cd }|CDIR);
  368.     dispoff({No})};
  369.  
  370. /*    ファイル応用操作    (lha,ish,diet)    */
  371. /*    ファイル凍結    */
  372. %LHAarc    {
  373.     %FILEsel2{
  374.         SNDMSG({nyuryo_f.snd});
  375.         footnote({書庫ファイル名を入力して下さい  元ファイル=}|OLDFILE);
  376.         NEWFILE:=@filesel({LZH});NEWDIR:=@getcdir;
  377.         case(NEWFILE<>{},
  378.             {Yes},{case(@nochar(NEWDIR)==3,
  379.                 {Yes},{NEWFILE:=NEWDIR|NEWFILE},
  380.                 {No},{NEWFILE:=NEWDIR|{\}|NEWFILE})});
  381.         im(NEWFILE);
  382.         };
  383.  
  384.     loop    ({
  385.         case(@FILEsel1({圧縮凍結するファイルを指定して下さい},)={},
  386.             {Yes},{im({No})},
  387.             {No},
  388.             {
  389.             case(@FILEsel2={},{Yes},{im({No})},
  390.                 {No},
  391.                 {
  392.                 footnote({ファイル圧縮凍結処理中  }|
  393.                         OLDFILE|{ -> }|NEWFILE);
  394.                 command({lha u }|NEWFILE|{ }|OLDFILE);
  395.                 im({Yes});
  396.                 });
  397.             });
  398.         });
  399.     };
  400.  
  401. /*    .LZH ファイルを.EXE へ変換処理    */
  402. %LHAs    {
  403.     %FILEsel2{
  404.         SNDMSG({erande_f.snd});
  405.         footnote({変換先のディレクトリへ移動してキャンセ}|
  406.                 {ルして下さい  移動元=}|OLDFILE);
  407.         %dmy    @filesel;
  408.         NEWDIR:=@getcdir;
  409.         case    (@nochar(NEWDIR)==3,
  410.             {Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
  411.             {No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
  412.         };
  413.     loop    ({
  414.         case    (@FILEsel0({変換するファイル(*.LZH)を選択して下さい},
  415.                     {LZH})={},
  416.             {Yes},{im({No})},
  417.             {No},
  418.             {
  419.             FILEsel2;
  420.             footnote({LHAファイル変換処理中}|OLDFILE|{->.EXE});
  421.             command({lha s }|OLDFILE);
  422.             im({Yes});
  423.             });
  424.         });
  425.     };
  426. /*    ファイル解凍    */
  427. %LHAext    {
  428.     %FILEsel2{
  429.         SNDMSG({erande_f.snd});
  430.         footnote({解凍先のディレクトリへ移動してキャンセルして下さい});
  431.         %dmy    @filesel;NEWDIR:=@getcdir;
  432.         case(@nochar(NEWDIR)==3,
  433.             {Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
  434.             {No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
  435.         };
  436.  
  437.     loop    ({
  438.         case(@FILEsel0({解凍する *.LZH ファイルを指定して下さい},{LZH})
  439.                 ={},
  440.             {Yes},{im({No})},
  441.             {No},
  442.             {
  443.             FILEsel2;footnote({ファイル解凍処理中  }|OLDFILE);
  444.             command({lha x }|OLDFILE);im({Yes});
  445.             });
  446.         });
  447.     };
  448.  
  449. /*    凍結ファイル内容表示    */
  450. %LHAlst    {
  451.     loop    ({
  452.         case(@FILEsel0({内容表示する *.LZH ファイルを}|
  453.                 {指定して下さい},{LZH})={},
  454.             {Yes},{im({No})},
  455.             {No},
  456.             {
  457.             footnote({凍結ファイル内容表示中  }|OLDFILE);
  458.             command({lha l }|OLDFILE);im({Yes});
  459.             });
  460.         });
  461.     };
  462.  
  463. /*    ファイル石化    */
  464. %ISHstr    {
  465.     loop    ({
  466.         case(@FILEsel1({*.ISH ファイルに変換するファイルを}|
  467.                 {指定して下さい},)={},
  468.             {Yes},{im({No})},
  469.             {No},
  470.             {
  471.             case(OLDFILE={},{Yes},{im({No})},
  472.                 {No},
  473.                 {
  474.                 footnote({ISHファイル変換処理中  }|OLDFILE);
  475.                 command({ish }|OLDFILE|{ /ss});im({Yes});
  476.                 });
  477.             });
  478.         });
  479.     };
  480.  
  481. /*    ファイル解石    */
  482. %ISHres    {
  483.     loop    ({
  484.         case(@FILEsel1({復元する *.ISH ファイルを指定して下さい},{ISH})
  485.                 ={},
  486.             {Yes},{im({No})},
  487.             {No},
  488.             {
  489.             case(OLDFILE={},{Yes},{im({No})},
  490.                 {No},
  491.                 {
  492.                 footnote({ISHファイル復元処理中  }|OLDFILE);
  493.                 command({ish }|OLDFILE|{ /r});im({Yes});
  494.                 });
  495.             });
  496.         });
  497.     };
  498.  
  499. /*    ダイエット処理    */
  500. %DIETarc{
  501.     loop    ({
  502.         case(@FILEsel1({ダイエットするファイルを指定して下さい},)={},
  503.             {Yes},{im({No})},
  504.             {No},
  505.             {
  506.             case(OLDFILE={},{Yes},{im({No})},
  507.                 {No},
  508.                 {
  509.                 footnote({ダイエット処理中  }|OLDFILE);
  510.                 command({diet }|OLDFILE);im({Yes});
  511.                 });
  512.             });
  513.         });
  514.     };
  515.  
  516. /*    ダイエットファイル復元    */
  517. %DIETres{
  518.     loop    ({
  519.         case(@FILEsel1({復元するダイエットファイルを}|
  520.                     {指定して下さい},)={},
  521.             {Yes},{im({No})},
  522.             {No},
  523.             {
  524.             case(OLDFILE={},{Yes},{im({No})},
  525.                 {No},
  526.                 {
  527.                 footnote({ダイエットファイル復元処理中  }|
  528.                         OLDFILE);
  529.                 command({diet -ra }|OLDFILE);im({Yes});
  530.                 });
  531.             });
  532.         });
  533.     };
  534. /*    差分ファイル作成処理    */
  535. %BDIFF    {
  536.     %FILEsel2{
  537.         SNDMSG({nyuryo_f.snd});
  538.         footnote({新ファイル名を入力して下さい  旧ファイル=}|OLDFILE);
  539.         NEWFILE:=@filesel;NEWDIR:=@getcdir;
  540.         case(NEWFILE<>{},
  541.             {Yes},{case(@nochar(NEWDIR)==3,
  542.                 {Yes},{NEWFILE:=NEWDIR|NEWFILE},
  543.                 {No},{NEWFILE:=NEWDIR|{\}|NEWFILE})});
  544.         im(NEWFILE);
  545.         };
  546.  
  547.     loop    ({
  548.         case(@FILEsel0({差分を作成する旧ファイルを指定して下さい},)={},
  549.             {Yes},{im({No})},
  550.             {No},
  551.             {
  552.             case(@FILEsel2={},{Yes},{im({No})},
  553.                 {No},
  554.                 {
  555.                 footnote({ファイル差分作成処理中  }|
  556.                         OLDFILE|{ -> }|NEWFILE);
  557.                 command({BDIFF }|OLDFILE|{ }|NEWFILE);
  558.                 im({Yes});
  559.                 });
  560.             });
  561.         });
  562.     };
  563.  
  564. /*    差分ファイル復元処理    */
  565. %BUPDATE{
  566.     loop    ({
  567.         case(@FILEsel0({差分ファイルを指定して下さい},{BDF})={},
  568.             {Yes},{im({No})},
  569.             {No},
  570.             {
  571.             footnote({ファイル差分更新処理中  差分ファイル=}|OLDFILE);
  572.             %cdir1    @getcdir;
  573.             %cdir2    @dir2(cdir1);
  574.             command({BUPDATE }|OLDFILE);
  575.             setcdir(cdir1);
  576.             im({Yes});
  577.             });
  578.         });
  579.     };
  580. /*    差分ファイル内容確認処理    */
  581. %BUPDview{
  582.     loop    ({
  583.         case    (@FILEsel0({差分ファイルを指定して下さい},{BDF})={},
  584.             {Yes},{im({No})},
  585.             {No},
  586.             {
  587.             footnote({差分ファイル内容表示中  差分ファイル=}|OLDFILE);
  588.             %cdir1    @getcdir;
  589.             %cdir2    @dir2(cdir1);
  590.             setcdir(CDIR);
  591.             command({BUPDATE -v }|OLDFILE|{ }|cdir2|{*.*});
  592.             setcdir(cdir1);
  593.             WAITLOOP;
  594.             im({Yes});
  595.             });
  596.         });
  597.     };
  598. /*    ディレクトリ基本操作    */
  599. /*    ディレクトリ作成    */
  600. %MKDIR    {
  601.     SNDMSG({erande_f.snd});
  602.     footnote({作成するディレクトリ名を指定して下さい});
  603.     NEWDIR:=@filesel;
  604.     OLDDIR:=@getcdir;
  605.     case    (@nochar(OLDDIR)==3,
  606.         {Yes},    {NEWDIR:=OLDDIR|NEWDIR},
  607.         {No},    {NEWDIR:=OLDDIR|{\}|NEWDIR}
  608.         );
  609.     mkdir2(NEWDIR);
  610.     };
  611. /*    ディレクトリ削除    */
  612. %RMDIR    {
  613.     SNDMSG({erande_f.snd});
  614.     footnote({削除するディレクトリへ移動して左クリックして下さい});
  615.     filesel;
  616.     OLDDIR:=@getcdir;
  617.     case    (@nochar(OLDDIR)==3,
  618.         {Yes},
  619.         {
  620.         SNDMSG({okasi_f.snd});
  621.         display({ルートディレクトリは削除できません\n});
  622.         },
  623.         {No},
  624.         {
  625.         SNDMSG({kaknin_f.snd});
  626.         footnote({削除ディレクトリ=}|OLDDIR);
  627.         select    ({ディレクトリ }|OLDDIR|{ を削除してもいいですか?},
  628.             Wtime4,,
  629.             { は い },
  630.             {
  631.             setcdir2(@head(OLDDIR,{\}));
  632.             command({echo y|del }|OLDDIR|{\*.*});
  633.             command({rmdir \}|@body(OLDDIR,{\}));
  634.             },
  635.             { いいえ },
  636.             );
  637.         });
  638.     };
  639. /*    差分ファイル復元処理    */
  640. %WSPupd    {
  641.     loop    ({
  642.         case    (@FILEsel0({差分ファイルを指定して下さい},{WUP})={},
  643.             {Yes},{im({No})},
  644.             {No},
  645.             {
  646.             footnote({ファイル差分更新処理中  差分ファイル=}|OLDFILE);
  647.             %cdir1    @getcdir;
  648.             %cdir2    @dir2(cdir1);
  649.             command({WSP }|OLDFILE);
  650.             setcdir(cdir1);
  651.             im({Yes});
  652.             });
  653.         });
  654.     };
  655. /*    自己実行形式ファイル作成処理    */
  656. %WSPself{
  657.     loop    ({
  658.         case    (@FILEsel0({自己実行形式を作成する差分ファイルを}|
  659.                     {指定して下さい},{WUP})={},
  660.             {Yes},{im({No})},
  661.             {No},
  662.             {
  663.             footnote({自己実行形式ファイル作成中  差分ファイル=}|
  664.                     OLDFILE);
  665.             %cdir1    @getcdir;
  666.             %cdir2    @dir2(cdir1);
  667.             setcdir(CDIR);
  668.             command({WSP -S }|OLDFILE|{ }|
  669.                 cdir2|@tail(OLDFILE,{\},{.})|{COM});
  670.             setcdir(cdir1);
  671.             im({Yes});
  672.             });
  673.         });
  674.     };
  675. /* RTTLCで整理したログを月毎に凍結書庫に収納する */
  676. var l1 [82];var fn [64];
  677. %RTLdir    {
  678.     setcdir(CDIR);
  679.     %dtf TEMP2|{doraedt.tmp};
  680.     setcdir(CDIR);
  681.     dispoff(!DEBUG);
  682.     command({txl -dir }|RTTLdir|{ }|dtf);
  683.     dispoff({No});
  684.     };
  685. /*    ログ参照メイン処理    */
  686. %RTTLlog{
  687.     fn:=@tail(RTTLdir,{\});
  688.     InactMemo;
  689.     loop    ({
  690.         RTLdir;
  691.         %lineno @noline(@read(TEMP2|{doraedt.tmp}));
  692.         case    ((@nochar(RTTLdir)!=3&&lineno>9)||
  693.             (@nochar(RTTLdir)==3&&lineno>7),
  694.             {Yes},{ViewRTlog1},
  695.             {No},{display(RTTLdir|{ は空です\n});im({No})}
  696.             );
  697.         });
  698.     DeleteMemo(memono);
  699.     setcdir(CDIR)
  700.     };
  701. %ViewRTlog1{
  702.     loop    ({
  703.     InactMemo;
  704.     case(@mlast>=memono,{Yes},{mclear(memono)});
  705.     case    (@nochar(RTTLdir)==3,
  706.         {Yes},    {madd(memono,@read(TEMP2|{doraedt.tmp},5,lineno-7))},
  707.         {No},    {madd(memono,@read(TEMP2|{doraedt.tmp},7,lineno-9))}
  708.         );
  709.     mopen(memono,0,21,639,459,{r});SNDMSG({erande_f.snd});
  710.     footnote({終了  書庫},{b});
  711.         waitx();
  712.         case    (@xtype,memono,LzHu,
  713.             101,{im({No})},    201,{im({No})},
  714.             103,{LzHu;RTLdir},203,{LzHu;RTLdir},
  715.             ,{im({Yes})}
  716.             );
  717.         })
  718.     };
  719. %LzHu    {
  720.     %MemoLine @nolmemo(memono)-1;    /*メモの総行数を返す*/
  721.     %LineNo @xlinenum;        /*カーソル位置の行数を返す*/
  722.     case    (LineNo>MemoLine,
  723.          {No},{case    (LineNo<=0,
  724.                 {No},{
  725.                 l1:=@getchar(@memo(memono,LineNo,1),1,80);
  726.                 })
  727.         });
  728.     case    (@head(l1,{_})=NET && @head(l1,{.},{ })<>{LOG},
  729.          {No},
  730.         {footnote({カーソルをRTTLCで整理済のファイル行に置いて下さい。});
  731.         wait(2)},
  732.         {Yes},{mkdir2(RTTL2|{凍結書庫});
  733.             OLDFILE:=@subdir(RTTLdir,
  734.                 @head(l1,{.})|{.*});
  735.             NEWFILE:=@subdir(RTTLdir|{\凍結書庫},NET|
  736.                 @getchar(l1,24,2)|@head(l1,NET,{.})|{.LZH});
  737.                 DeleteMemo(memono);
  738.                 command({lha u }|NEWFILE|{ }|OLDFILE);
  739.             case    (@filechk(NEWFILE),
  740.                 {Yes},{footnote(@getchar(l1,5,2)|{月のログを}|
  741.                 {圧縮して凍結書庫に保管しました。});wait(2);
  742.                 delRTLOG});
  743.         });im({Yes})
  744.     };
  745. %delRTLOG{
  746.     SNDMSG({kaknin_f.snd});
  747.     select    ({元ログファイル}|@tail(OLDFILE,{\})|{を削除します},
  748.         Wtime4,{im({Yes})},
  749.         {  削除する  },
  750.         {
  751.         InactMemo;
  752.         command({echo y|del }|OLDFILE);
  753.         delfile(TEMP2|{doraedt.tmp});
  754.         dispoff(!DEBUG);
  755.         %dtf TEMP2|{doraedt.tmp};
  756.         setcdir(CDIR);
  757.         command({txl doratxl.set -dir }|RTTLdir|{ }|dtf);
  758.         dispoff({No});
  759.         %lineno @noline(@read(TEMP2|{doraedt.tmp}));
  760.         case    (lineno>8,
  761.             {Yes},
  762.             {case(@mlast>=memono,{Yes},{mclear(memono)});
  763.             madd(memono,@read(TEMP2|{doraedt.tmp},6,lineno-8));
  764.             });
  765.         im({No})},
  766.         { 削除しない },{im({Yes})}
  767.         );im({Yes})
  768.     };
  769. %LOGman    {
  770. footnote({受信ログを参照します});
  771. %memono    @mlast+1;
  772. case    (memono>5,
  773.     {No},{RTTLlog},
  774.     {Yes},{SNDMSG    ({kaknin_f.snd});
  775.     select    ({メモ5-9の内容が消去されます  よろしいですか?},
  776.         Wtime4,,
  777.         { は い },{RTTLlog},
  778.         { いいえ },
  779.         );
  780.     });
  781.     };/*    ファイル基本操作の選択    */
  782. %FILEman1{
  783.     loop    ({
  784.         SNDMSG({erande_f.snd});
  785.         footnote({ファイル基本操作の処理を選択して下さい});
  786.         select({ファイル基本操作メニュー},
  787.             Wtime4,{im({No})},
  788.             {ファイル表示     -type(more)},{DISPLAY;im({Yes})},
  789.             {ファイル複写     -copy      },{COPY;im({Yes})},
  790.             {ファイル移動     -copy&del  },{MOVE;im({Yes})},
  791.             {ファイル名変更   -rename    },{RENAME;im({Yes})},
  792.             {ファイル削除     -del       },{DELETE;im({Yes})},
  793.             {全ファイル削除   -del *.*   },{DELall;im({Yes})},
  794.             {ファイル一覧表示 -dir       },{DIR;im({Yes})},
  795.             {        終       了         },{im({No})});
  796.         });
  797.     };
  798. /*    ディレクトリ操作の選択    */
  799. %DIRman    {
  800.     loop    ({
  801.         SNDMSG({erande_f.snd});
  802.         footnote({ディレクトリ操作の処理を選択して下さい});
  803.         select({ディレクトリ操作メニュー},
  804.             Wtime4,{im({No})},
  805.             {ディレクトリ作成 -mkdir    },{MKDIR;im({Yes})},
  806.             {ディレクトリ削除 -rmdir    },{RMDIR;im({Yes})},
  807.             {        終       了        },{im({No})}
  808.             );
  809.         });
  810.     };
  811. /*   CD-ROM 辞書 検索    */
  812. %CDFIND    {
  813.     SNDMSG({kaknin_f.snd});
  814.     footnote({CD-ROMに辞書をセットしてください});
  815.     select({CD-ROMに辞書をセットしてください},
  816.         Wtime4,,
  817.         {  O K  },
  818.         {
  819.         InactMemo;
  820.         %memono    @mlast+1;
  821.         madd(memono,{});
  822.         mopen(memono,1,21,639,459);
  823.         CDfind(memono);
  824.         DeleteMemo(memono);
  825.         },
  826.         {  N G },
  827.         );
  828.     };
  829. /*    ファイル応用操作の選択    */
  830. %FILEman2{
  831.     loop    ({
  832.         SNDMSG({erande_f.snd});
  833.         footnote({ファイル応用操作の処理を選択して下さい});
  834.         select({ファイル応用操作メニュー},
  835.             Wtime4,{im({No})},
  836.             {ファイル圧縮凍結 >LHA u    },{LHAarc;im({Yes})},
  837.             { .LZH から.EXEへ >LHA s    },{LHAs;im({Yes})},
  838.             {ファイル解凍     >LHA x    },{LHAext;im({Yes})},
  839.             {凍結ファイル一覧 >LHA l    },{LHAlst;im({Yes})},
  840.             {ファイル石化     >ISH /s   },{ISHstr;im({Yes})},
  841.             {ファイル解石     >ISH /r   },{ISHres;im({Yes})},
  842.             {ファイル圧縮     >DIET     },{DIETarc;im({Yes})},
  843.             {ファイル復元     >DIET -ra },{DIETres;im({Yes})},
  844.             {ファイル差分作成 >BDIFF    },{BDIFF;im({Yes})},
  845.             {ファイル差分更新 >BUPDATE  },{BUPDATE;im({Yes})},
  846.             {差分ファイル確認 >BUPDATE-v},{BUPDview;im({Yes})},
  847.             {ファイル差分更新 >WSP      },{WSPupd;im({Yes})},
  848.             {自己更新形式作成 >WSP -S   },{WSPself;im({Yes})},
  849.             {        終       了        },{im({No})});
  850.         });
  851.     };
  852. /*    ファイル操作メインメニュー    */
  853. /*    設定する情報の選択    */
  854. %DORAFILE{
  855.     loop    ({
  856.         SNDMSG({erande_f.snd});
  857.         footnote({ファイル編集を選択して下さい});
  858.         select    ({ファイル編集メインメニュー},
  859.             Wtime4,{im({No})},
  860.             {   ファイル基本操作       },{FILEman1;im({Yes})},
  861.             {   ログファイル整理       },{LOGman;im({Yes})},
  862.             {   ファイル実行           },{EXEC;im({Yes})},
  863.             {   NAPLPS表示 -     },{NAPLPS;im({Yes})},
  864.             { 応用操作(lha,ish,diet,bdiff) },{FILEman2;im({Yes})},
  865.             {   ディレクトリ操作       },{DIRman;im({Yes})},
  866.             {   CD-ROM 辞書検索   },{CDFIND;im({Yes})},
  867.             {     終        了         },{im({No})}
  868.             )})};
  869. /*    作業領域定義    */
  870. var    OLDFILE    [64];var    NEWFILE    [64];
  871. var    OLDDIR    [64];var    NEWDIR    [64];
  872. /*    実行文    */
  873. DORAFILE;